package com.houweishi.module.product.domain;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.houweishi.common.annotation.Excel;
import com.houweishi.common.core.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 物品管理对象 biz_product
 * 
 * @author houweishi
 * @date 2023-02-25
 */
@Data
public class BizProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增id */
    private Long id;

    /** 物品名称 */
//    @Excel(name = "物品名称")
    private String productName;

    /** 物品类型（1办公用品 2宣传物料 3机器设备） */
    @Excel(name = "物品类型", readConverterExp = "1=办公用品,2=宣传物料,3=机器设备")
    private String productType;

    /** 型号 */
    @Excel(name = "型号")
    private String model;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 创建者id */
//    @Excel(name = "创建者id")
    private String createId;

    /** 状态0上架 1下架 */
    @Excel(name = "状态0上架 1下架")
    private String status;

    /** 产品图片 */
    @Excel(name = "产品图片")
    private String image;

    /** 产品介绍 */
    @Excel(name = "产品介绍")
    private String introduce;

    /** 附件 */
    @Excel(name = "附件")
    private String enclosure;

    /** 仓库id */
//    @Excel(name = "仓库id")
    private String warehouseId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 库存 */
    @Excel(name = "库存")
    private Long quantity;

    /** 采购单价 */
    @Excel(name = "采购单价")
    private BigDecimal price;

    /** 市场价 */
    @Excel(name = "市场价")
    private BigDecimal marketPrice;

    /** 售卖价 */
    @Excel(name = "售卖价")
    private BigDecimal sellingPrice;

    /** 产品颜色 */
    @Excel(name = "产品颜色")
    private String colour;

    /** 重量 */
    @Excel(name = "重量")
    private BigDecimal weight;

    /** 材质 */
    @Excel(name = "材质")
    private String material;

    /** 规格参数 */
    @Excel(name = "规格参数")
    private String specification;


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductType(String productType) 
    {
        this.productType = productType;
    }

    public String getProductType() 
    {
        return productType;
    }
    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setCreateId(String createId) 
    {
        this.createId = createId;
    }

    public String getCreateId() 
    {
        return createId;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setImage(String image) 
    {
        this.image = image;
    }

    public String getImage() 
    {
        return image;
    }
    public void setIntroduce(String introduce) 
    {
        this.introduce = introduce;
    }

    public String getIntroduce() 
    {
        return introduce;
    }
    public void setEnclosure(String enclosure) 
    {
        this.enclosure = enclosure;
    }

    public String getEnclosure() 
    {
        return enclosure;
    }
    public void setWarehouseId(String warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseId() 
    {
        return warehouseId;
    }
    public void setWarehouseName(String warehouseName) 
    {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() 
    {
        return warehouseName;
    }
    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productName", getProductName())
            .append("productType", getProductType())
            .append("model", getModel())
            .append("unit", getUnit())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("createId", getCreateId())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("image", getImage())
            .append("introduce", getIntroduce())
            .append("enclosure", getEnclosure())
            .append("warehouseId", getWarehouseId())
            .append("warehouseName", getWarehouseName())
            .append("quantity", getQuantity())
            .toString();
    }
}
